home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / p_man / cat3 / complib / dorm2l.z / dorm2l
Encoding:
Text File  |  1998-10-30  |  3.5 KB  |  133 lines

  1.  
  2.  
  3.  
  4. DDDDOOOORRRRMMMM2222LLLL((((3333FFFF))))                                                          DDDDOOOORRRRMMMM2222LLLL((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      DORM2L - overwrite the general real m by n matrix C with   Q * C if SIDE
  10.      = 'L' and TRANS = 'N', or   Q'* C if SIDE = 'L' and TRANS = 'T', or   C *
  11.      Q if SIDE = 'R' and TRANS = 'N', or   C * Q' if SIDE = 'R' and TRANS =
  12.      'T',
  13.  
  14. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  15.      SUBROUTINE DORM2L( SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC, WORK, INFO
  16.                         )
  17.  
  18.          CHARACTER      SIDE, TRANS
  19.  
  20.          INTEGER        INFO, K, LDA, LDC, M, N
  21.  
  22.          DOUBLE         PRECISION A( LDA, * ), C( LDC, * ), TAU( * ), WORK( *
  23.                         )
  24.  
  25. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  26.      DORM2L overwrites the general real m by n matrix C with
  27.  
  28.      where Q is a real orthogonal matrix defined as the product of k
  29.      elementary reflectors
  30.  
  31.            Q = H(k) . . . H(2) H(1)
  32.  
  33.      as returned by DGEQLF. Q is of order m if SIDE = 'L' and of order n if
  34.      SIDE = 'R'.
  35.  
  36.  
  37. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  38.      SIDE    (input) CHARACTER*1
  39.              = 'L': apply Q or Q' from the Left
  40.              = 'R': apply Q or Q' from the Right
  41.  
  42.      TRANS   (input) CHARACTER*1
  43.              = 'N': apply Q  (No transpose)
  44.              = 'T': apply Q' (Transpose)
  45.  
  46.      M       (input) INTEGER
  47.              The number of rows of the matrix C. M >= 0.
  48.  
  49.      N       (input) INTEGER
  50.              The number of columns of the matrix C. N >= 0.
  51.  
  52.      K       (input) INTEGER
  53.              The number of elementary reflectors whose product defines the
  54.              matrix Q.  If SIDE = 'L', M >= K >= 0; if SIDE = 'R', N >= K >=
  55.              0.
  56.  
  57.      A       (input) DOUBLE PRECISION array, dimension (LDA,K)
  58.              The i-th column must contain the vector which defines the
  59.              elementary reflector H(i), for i = 1,2,...,k, as returned by
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. DDDDOOOORRRRMMMM2222LLLL((((3333FFFF))))                                                          DDDDOOOORRRRMMMM2222LLLL((((3333FFFF))))
  71.  
  72.  
  73.  
  74.              DGEQLF in the last k columns of its array argument A.  A is
  75.              modified by the routine but restored on exit.
  76.  
  77.      LDA     (input) INTEGER
  78.              The leading dimension of the array A.  If SIDE = 'L', LDA >=
  79.              max(1,M); if SIDE = 'R', LDA >= max(1,N).
  80.  
  81.      TAU     (input) DOUBLE PRECISION array, dimension (K)
  82.              TAU(i) must contain the scalar factor of the elementary reflector
  83.              H(i), as returned by DGEQLF.
  84.  
  85.      C       (input/output) DOUBLE PRECISION array, dimension (LDC,N)
  86.              On entry, the m by n matrix C.  On exit, C is overwritten by Q*C
  87.              or Q'*C or C*Q' or C*Q.
  88.  
  89.      LDC     (input) INTEGER
  90.              The leading dimension of the array C. LDC >= max(1,M).
  91.  
  92.      WORK    (workspace) DOUBLE PRECISION array, dimension
  93.              (N) if SIDE = 'L', (M) if SIDE = 'R'
  94.  
  95.      INFO    (output) INTEGER
  96.              = 0: successful exit
  97.              < 0: if INFO = -i, the i-th argument had an illegal value
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.